﻿Public Class frmStation
    Private Sub frmStation_Activated(sender As Object, e As EventArgs) Handles MyBase.Activated
        ' On vide la ListBox
        lbStationsReliees.Items.Clear()

        ' On récupère le nom de la station sélectionnée
        tbNomStation.Text = frmMicheline.Simulation.Stations.Item(frmMicheline.Simulation.HoverStationID).Name

        ' On liste toutes les stations voisines 
        Dim Neighbors As New List(Of Integer)(GetNeighbors(frmMicheline.Simulation.HoverStationID, frmMicheline.Simulation.Junctions, frmMicheline.Simulation.RailPoints))

        ' On retire les stations d'aiguillage invisibles
        For Each RailPoint In frmMicheline.Simulation.RailPoints
            If Neighbors.Contains(RailPoint.MiddleStationIndex) Then Neighbors.Remove(RailPoint.MiddleStationIndex)
        Next

        ' Puis on boucle toutes ces stations voisines
        For Each Successor In Neighbors
            ' Et on les ajoute sur notre Form
            lbStationsReliees.Items.Add(frmMicheline.Simulation.Stations.Item(Successor).Name)
        Next
    End Sub

    Private Sub tbNomStation_KeyPress(sender As Object, e As KeyPressEventArgs) Handles tbNomStation.KeyPress
        ' Lorsque l'on valide la saisie
        If e.KeyChar = ChrW(Keys.Enter) Then
            ' On démarre le Timer afin d'afficher la couleur verte pendant une demi-seconde
            EnterTimer.Start()
            tbNomStation.BackColor = Color.GreenYellow
            ' On affecte la saisie au nom de la station
            frmMicheline.Simulation.Stations.Item(frmMicheline.Simulation.HoverStationID).Name = tbNomStation.Text
        End If
    End Sub

    Private Sub EnterTimer_Tick(sender As Object, e As EventArgs) Handles EnterTimer.Tick
        ' On revient à la couleur blanche de base
        tbNomStation.BackColor = Color.White
    End Sub
End Class